package com.briup.demo.service.impl;

import com.briup.demo.common.exception.ServiceException;
import com.briup.demo.common.response.ResultCode;
import com.briup.demo.service.UserService;
import org.springframework.stereotype.Service;

/**
 * 用户业务接口实现类
 */
@Service
public class UserServiceImpl implements UserService {

    /*
        在java方法中，对外输出消息的方式有哪些？
            1、通过return关键字，以方法返回值的形式将方法执行结果输出给
            调用本方法的方法中
            2、通过抛出异常的方式，来对外传输消息，同时异常还会结束
            方法的运行，并且由于异常的传播机制，所以异常会影响到调用本方法的方法中
     */
    @Override
    public String test(boolean flag) {
        if (flag) {
            return "success";
        }
        // 使用自定义异常以及统一的响应结果来传输失败的原因；
        // 如此在统一异常处理时，就能直接快速的转换为统一的响应格式
        throw new ServiceException(ResultCode.PARAMETER_IS_INVALID);
    }
}
